package com.systop.common.exception;

/**
 * @author jsj
 * @date 2022/5/3
 *
 * 错误码和错误信息定义类
 * 1. 错误码定义规则为 5 为数字
 * 2. 前两位表示业务场景，最后三位表示错误码。例如：100001。10:通用 001:系统未知
 异常
 * 3. 维护错误码后需要维护错误描述，将他们定义为枚举形式
 * 错误码列表：
 * 10: 通用
 * 001：参数格式校验
 *
 *
 */
public enum BizCodeEnum {
    UNKNOWN_EXCEPTION(10000,"系统未知异常！"),
    VALID_EXCEPTION(10001,"参数格式校验失败！"),

    SUCCESS(200, "访问成功"),
    USERNAME_OR_PASSWORD_ERROR(201,"用户名或密码错误"),
    PASSWORD_VALID_ERROR(10201,"密码验证失败"),
    VERIFICATION_CODE_ERROR(202,"验证码不正确"),
    USER_EXIST(203,"用户已存在"),
    USER_NOT_ADMIN(204,"用户权限不足"),
    INVALID_QUERY(205,"无效的查询"),
    FAIL(300, "fail"),
    BODY_NOT_MATCH(400, "请求的数据格式不符！"),
    SIGNATURE_NOT_MATCH(401, "请求的数字签名不匹配！"),
    NOT_FOUND(404, "未找到该资源！"),
    INTERNAL_SERVER_ERROR(500, "服务器内部错误！"),
    SERVER_BUSY(503, "服务器正忙，请稍后再试！"),
    UNDEFINED_ERROR(1000, "未知错误！"),
    NOTE(1001, "自定义提示！"),
    PARAMETERERROR(409, "参数错误！"),
    NOTLOGIN(402, "登陆错误！"),
    EXPIRE(1002, "Session过期了"),
    GATEWAYTIMEOUT(405, "网关连接超时");

    private int code;
    private String msg;

    BizCodeEnum(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }
    public String getMsg() {
        return msg;
    }
}
